package org.dfl.core.model;

import java.util.Collection;

import org.dfl.core.data.History;
import org.dfl.core.data.Token;
import org.dfl.core.data.connectors.TypeConnector;

/**
 * output place for a flow 
 * @author Piotr Wlodarczyk
 *
 */
public class OutputPlace extends Place {
	@Override
	public boolean addOutputEdge(TInputEdge e, TypeConnector connector) {
		return false;
	}
	
	public Object getResultData(History history) {
		// wyciagnij klucz z historyDataMap odpowiedni do colH
		if (!historyDataMap.containsKey(history))
			return null;
		Collection<Token> values = historyDataMap.get(history);
		Token hd = values.iterator().next();
		values.remove(hd);
		if (values.size() == 0) {
			historyDataMap.remove(history);
		}
		// powiadom, ze juz nie ma danych w tym miejscu
		fireGetData();
		return hd.getData();
	}
}
